#ifndef PictureItem_First
#define PictureItem_First
#ifdef __GNUG__
#pragma interface
#endif

#include "VObject.h"

//---- PictureItem -------------------------------------------------------------

class PictureItem : public VObject {
protected:
	Picture *pic;
	short base;
	bool deletePicture;
public:
	MetaDef(PictureItem);

	PictureItem(Picture *b, const Point &e= gPoint_1, int base= 0,
													bool freeold= FALSE);
	PictureItem(int id, Picture *b, const Point &e= gPoint_1, int base= 0,
													bool freeold= FALSE);
	~PictureItem();

	void SetPicture(Picture *bm, bool redraw= TRUE);
	Picture *GetPicture()
		{ return pic; }
	Metric GetMinSize();
	void SetBase(int b)
		{ base= b; }
	void Draw(Rectangle);
	void DoObserve(int, int part, void*, Object *op);
	OStream& PrintOn(OStream&);
	IStream& ReadFrom(IStream&);
};

#endif
